﻿using System;
using System.Collections.Generic;
using System.Text;
using Castle.ActiveRecord;
using Castle.Components.Validator;
using MiragePWF.NH.Validation;
using Wolfut.MirageEE.Kernal.Common;
using Wolfut.MirageEE.Domain.CommonUtilities;

namespace Wolfut.MirageEE.Domain.Common
{
    [ActiveRecord("SYSTEM_PARAMETERS")]
    public class SystemParam : PersistentObjectWithGuid
    {
        #region 参数名称
        [Property("PARAMETER_NAME")]
        [ValidateLength(0, 40, "参数名称超长！")]
        public virtual string ParamName
        {
            get
            {
                return paramName;
            }
            set
            {
                paramName = value;
            }
        }

        private string paramName;
        #endregion

        #region 参数值
        [Property("PARAMETER_VALUE")]
        [ValidateLength(0, 5000, "参数值超长！")]
        public virtual string ParamValue
        {
            get
            {
                return paramValue;
            }
            set
            {
                paramValue = value;
            }
        }

        private string paramValue;
        #endregion

        #region 备注
        [Property("REMARKS")]
        [ValidateLength(0, 200, "备注超长！")]
        public virtual string Remarks
        {
            get
            {
                return remarks;
            }
            set
            {
                remarks = value;
            }
        }

        private string remarks;
        #endregion

        #region 类别
        [Property("PARAMETER_CATEGORY")]
        [ValidateLength(0, 20, "类别超长！")]
        public virtual string ParamCategory
        {
            get
            {
                return paramCategory;
            }
            set
            {
                paramCategory = value;
            }
        }

        private string paramCategory;
        #endregion
    }
}
